Documentos impresos de
Quarto®
Encuentro 6
2024
Christian Ballejo
En la cabecera YAML se puede definir formatos de documentos distintos a HTML.
Entre las opciones de documentos con fines de impresión se encuentran:
PDF (en base a LaTeX)
PDF (en base a typst)
docx (archivo Word)
Para procesar documentos PDF de Quarto (documentos tradicionales pdf de RMarkdown) nuestra computadora debe cumplir con el requerimiento de tener instalado una distribución actualizada de Tex.
Existen varios motores PDF pero se recomienda utilizar TinyTeX (que está basado en TexLive) que podemos instalar fácilmente desde RStudio.
Otras distribuciones posibles para Windows son: MikTex o Tex Live, pero deben descargase e instalarse independientemente de RStudio.
TinyTeX es una distribución LaTeX personalizada basada en TeX Live que es pequeña en tamaño , pero funciona bien en la mayoría de los casos, especialmente para usuarios de R.
Se instala ejecutando la siguiente linea en la Terminal de RStudio
Luego activamos la opción:
Use tinytex when compiling .tex files
en Global options de RStudio y reiniciamos.
Las cabecera básica de documentos PDF basados en LaTeX es:
En este ejemplo, además activamos tabla de contenidos.
La mayoría de las opciones de ejecución vistas para HTML sirven para este tipo de documentos.
Quarto utiliza clases de documentos KOMA Script de forma predeterminada para libros y documentos PDF.
La opción de ejecución documentclass: posibilita cambiar de clase utilizando la configuración KOMA Script.
| Opción | Descripción |
|---|---|
| scrartcl | Es la clase estándar. Diseñada para artículos (más o menos cortos) |
| scrreprt | Clase reportes, similar a los libros. Se diferencian principalmente en los valores predeterminados. |
| scrbook | Diseñada para libros desde aproximadamente una docena hasta miles de páginas |
Seleccionar que clase de documento pdf queremos tendrá que ver con lo que estemos produciendo.
Por ejemplo, los artículos estan configurados predeterminandamente con una sola cara, lo mismo que los reportes. En cambio, los libros son de doble cara.
Las opciones se pueden cambiar con classoption: (oneside, twoside)
Configurar el documento de clase scrbook automatizará muchas de las necesidades comunes para imprimir y encuadernar archivos PDF en un libro físico (es decir, los capítulos comienzan en páginas impares, tamaños de márgenes alternos, etc.)
| Opción | Descripción |
|---|---|
papersize |
Configura tamaño de papel |
lot |
Activa tabla de tablas |
lof |
Activa tabla de figuras |
fontsize |
Tamaño de fuente |
mainfont |
Fuente principal |
geometry |
Llama a paquete latex geometrías - define margenes, etc. |
Algunas librerías Latex como geometry vienen implementadas dentro de TinyTex y asociadas a la cabecera YAML de Quarto. Otras librerías pueden llamarse desde la opción include-in-header para inyectar comandos Latex.
Por ejemplo, incluyendo una fuente específica para el texto.
Quarto instalará todos los paquetes especificados mediante inclusiones que aún no haya instalado localmente durante la renderización del documento.
Al crear un documento PDF, Pandoc permite el uso de código Latex puro entre el markdown.
Si bien es muy conveniente para este formato, el código se ignora cuando se procesa en otros como HTML y Word.
Tengamos en cuenta que en algunos casos, el LaTeX puro requerirá paquetes de LaTeX adicionales (que deberemos incluir en la cabecera).
Instale y configure TinyText desde la terminal
Produzca un documento pdf. Incorpore en la cabecera la definición de documentclass: scrartcl, papersize: A4 y toc: true.
Renderice en PDF probando distintas opciones de markdown/Quarto (tablas, imagenes, etc)
Typst es un nuevo sistema de composición tipográfica de código abierto basado en un lenguaje de marcas que está diseñado para ser tan potente como LaTeX y al mismo tiempo mucho más fácil de aprender y usar. Genera buenos resultados en PDF con tiempos de renderizado muy rápidos.
Dado que Typst está en desarrollo activo y fue incorporado en la última versión de Quarto, todavía existen algunas limitaciones en el soporte. Es decir, que algunas caracterísiticas nativas como el diseño de página avanzado no están del todo implementadas.
En este ejemplo, además definimos 2 columnas para el documento.
La gran mayoría de opciones de cabecera generales de Quarto funcionan en typst.
Se puede controlar el diseño de la página mediante opciones en la cabecera YAML:
papersize: tamaño de la página (“a4”, “us-letter”, “us-legal”, etc)margin: márgenes de la página (top, right, bottom, left - medido en pulgadas in o centímetros cm)columns: cuantas columnas tendrá el diseño (por defecto 1 columna)mainfont: fuente principal (busca fuentes instaladas en el sistema pero se puede indicar rutas adicionales con font-paths)fontsize: tamaño de fuente base (medida en puntos pt)Al igual que el LaTeX se puede insertar bloques de código typst sin formato dentro del documento
Para obtener más información sobre typst el marcado, consulte el tutorial aquí: https://typst.app/docs/tutorial/
Se puede cambiar la apariencia de bloques mediante llamadas nativas de Typst, utilizando la clase .block en un Div con los argumentos apropiados.
Typst tiene composición tipográfica matemática incorporada y utiliza su propia notación.
La notación va encerrada entre signos $, de forma similar al LaTeX.
Existen plantillas typst preconfeccionadas que se pueden utilizar o bien personalizar una propia.
| Formato | Uso |
|---|---|
| Poster | quarto use template quarto-ext/typst-templates/poster |
| IEEE | quarto use template quarto-ext/typst-templates/ieee |
| AMS | quarto use template quarto-ext/typst-templates/ams |
| Letter | quarto use template quarto-ext/typst-templates/letter |
| Fiction | quarto use template quarto-ext/typst-templates/fiction |
| Dept News | quarto use template quarto-ext/typst-templates/dept-news |
En el siguiente tutorial de typst guian en la creación de una plantilla.
También en el sitio Awesome Quarto hay páginas de plantillas de terceros disponibles para utilizar.
Produzca un documento typst. Incorpore en la cabecera la definición de papersize: A4, columns: 2 y fontsize: 12pt .
Renderice en PDF probando distintas opciones de markdown/Quarto (tablas, imagenes, etc).
Pruebe el bloque nativo: ::: {.block fill=“luma(230)” inset=“8pt” radius=“4pt”} Este es un bloque con fondo gris y las aristas redondeadas. :::
Las cabecera básica de documentos Word es:
En este ejemplo, además activamos tabla de contenidos, con una profundidad de 2 y cabereca de tabla “Contenidos” (en español).
La mayoría de las opciones de ejecución vistas para HTML sirven para este tipo de documentos.
Para personalizar la apariencia de los documentos resultantes en Word se puede añadir en la cabecera una plantilla con diseño modificado. Para esto se sigue el siguiente paso a paso:
reference-doc: con el nombre del documento anterior (ejemplo: plantilla.docx)Produzca un documento Word (docx). Incorpore en la cabecera la definición de .
Renderice en docx probando distintas opciones de markdown/Quarto (tablas, imagenes, etc).
Aplique una plantilla con un estilo personalizado.
Instituto Nacional de Epidemiología